package Infoclient;

import Protocol.ReturnObject;
import java.util.ArrayList;
import javax.swing.JTable;

/**
 * De klasse waar de tabel wordt gemaakt
 * @author Michael Stevens
 * @since 21-05-2012
 */
public class Table {
    
    /**
    * De methode waar het returnobject wordt verkwerkt en in een table gestopt
    * @return Table with data
    * @author Michael Stevens
    * @since 21-05-2012
    */
    public JTable createTable(ReturnObject ro){
        
        //Array voor kolommen aanmaken       
        String[] cols = new String[ro.getKolommen().size()];        
        ro.getKolommen().toArray(cols);

        
        // 2d Array voor de rijen        
        int i = 0;
        for(ArrayList a:ro.getRijen()){
            for(Object o:a){
                i++;
            }
        }
        i = i / ro.getRijen().size();
        String[][] data = new String[ro.getRijen().size()][i];
        
        
        // De data wegschrijven naar het 2d array        
        int k = 0;
        int m = 0;
        for(ArrayList a:ro.getRijen()){
            
            for(Object o:a){
                data[k][m] = o.toString();
                m++;
            }
            m = 0;
            k++;
        }
        
        //maak tabel aan met de omgezette arrays
        JTable tabel = new JTable(data, cols);
        tabel.setEnabled(false);
        //en stuur deze terug
        return tabel;
        
    }
}
